home *** CD-ROM | disk | FTP | other *** search
- Path: mayne.ugrad.cs.ubc.ca!not-for-mail
- From: c2a192@ugrad.cs.ubc.ca (Kazimir Kylheku)
- Newsgroups: comp.lang.c++,comp.lang.eiffel,comp.lang.c,comp.object,comp.software-eng
- Subject: Re: Portability of code & skills (Beware of "C" Hackers etc)
- Date: 18 Mar 1996 10:48:52 -0800
- Organization: Computer Science, University of B.C., Vancouver, B.C., Canada
- Message-ID: <4ikb6kINN1is@mayne.ugrad.cs.ubc.ca>
- References: <31494D29.4D4B@dmu.ac.uk> <DoG3HE.48E@assip.csasyd.oz>
- NNTP-Posting-Host: mayne.ugrad.cs.ubc.ca
-
- In article <DoG3HE.48E@assip.csasyd.oz>,
- Don Harrison <donh@syd.csa.com.au> wrote:
- >Graham Perkins writes:
- >
- >:Too much stuff on the endless looping of "Beware of "C" Hackers..."
- >:thread so I'll try and split it. Or should we "fray" a thread?
- >
- >Nice extension of the metaphor. 'Fraying' is a good description of the course of
- >Usenet discussions :-).
- >
- >[...]
- >
- >... So if you want your new language to be a success,
- >:then give it away for ten years, preferably with a free O.S. and all source
- >:code as well. It's difficult to see many other reasons for widespread
- >:adoption of C and Unix.
- >
- >Aside from the historical argument, could another reason be that people
- >love power and permissive languages such as C give such power? The trouble
- >is, of course, that most people don't handle power responsibly because we
- >are selfish by nature. Our short-sighted selfishness is manifested in
- >programming as hacking.
-
- What does selfishness have to do with anything? It's just a matter of using
- undefined and implementation defined behavior. The problem is laziness to learn
- the language properly.
-
- The C language is not as permissive as you may think: it just leaves it up to
- the implementations to give meaning to many operations, while it perfectly
- defines others.
-
- Programmers who are not aware of these pitfalls end up hacking out code that
- is not portable.
-
- Another thing is that C compilers don't provide enough run-time checking,
- because the standard doesn't require them to, but that's another issue
- altogether from permissiveness inherent to the language.
- --
-
-